var M_id = '1'; // 默认组织ID
var M_pid = '0'; // 默认组织父ID
var M_isParent; // 默认是否为节点
var columnTree;
var setting = {
	async : {
		enable : true,
		url : contextPath + 'ac/organization/list',
		type : 'get',
		autoParam : [ 'id', 'refreshFlag' ],
	},
	callback : {
		beforeRename : function() {
			return false;
		},
		beforeClick : beforeColumnClick,
		onClick : clickTree,
		onAsyncError : uppZtreeAjaxError
	},
	view : {
		selectedMulti : false
	}

};

// 加载树形菜单
$(document).ready(function() {
	columnTree = $.fn.zTree.init($('#treeDemo'), setting);
});

// 决定当前结点的点击事件是否响应
function beforeColumnClick(treeId, treeNode) {
	return true;
}

// 点击树形菜单，右边IFRAME跳转相应链接
function clickTree(event, treeId, treeNode) {
	M_id = treeNode.id;
	M_pid = treeNode.pid;
	M_isParent = treeNode.isParent;
	$('#testIframe').attr('src', 'toDetailView?id=' + M_id);
}

// 新增时刷新指定的栏目节点（columnId为空则刷新当前被选中的结点）
function refreshColumnNode(columnId) {
	var node = columnTree.getNodeByParam('id', columnId, null);
	if (node != null) {
		node.isParent = true;
		columnTree.reAsyncChildNodes(node, 'refresh');
	}
}

// 删除时刷新指定的栏目节点（columnId为空则刷新当前被选中的结点）
function refreshColumnNodeOnDel(columnId) {
	var node = columnTree.getNodeByParam('id', columnId, null);
	if (node != null) {
		node.isParent = true;
		var childrenNodes = node.children;
		if (childrenNodes.length == 1) {
			columnTree.reAsyncChildNodes(node.getParentNode(), 'refresh');
			columnTree.updateNode(node.getParentNode(), false);
		} else {
			columnTree.reAsyncChildNodes(node, 'refresh');
			columnTree.updateNode(node, false);
		}
	}
}

// 树形新增、修改、删除操作
function gotoRightIframe(info) {
	if (M_id == '1') {
		var nodes = columnTree.getSelectedNodes();
		if (!nodes || nodes == null || nodes.length < 1) {
			top.uppShow('请选择一个节点');
			return false;
		}
		if (info == 'add') {
			$('#testIframe').attr('src', 'toAddView?id=' + M_id);
		} else {
			top.uppShow('根节点只能新增子组织，不能进行其他操作');
			return false;
		}
	} else {
		if (info == 'add') {
			$('#testIframe').attr('src', 'toAddView?id=' + M_id);
		} else if (info == 'edit') {
			$('#testIframe').attr('src', 'toEditView?id=' + M_id);
		} else if (info == 'cancel') {
			$('#testIframe').attr('src', '');

			uppDialog.confirm(uppDialog.deleteMsgConfirm, function() {
				if (M_isParent == true) {
					top.uppShow('该组织下有子组织。不能做删除处理');
					return false;
				} else {
					$.ajax({
						type : 'POST',
						url : contextPath + 'ac/organization/remove',
						data : {
							'orgId' : M_id,
							'parentOrgId' : M_pid
						},
						dataType : 'json',
						success : function(root) {
							top.uppShow(root.msgDesc);
							if (root.opResult == '0') {
								refreshColumnNodeOnDel(root.pid);
							}
						},
						error : function(data) {
							uppAjaxError(data);
						}
					});
				}
			});
		} else {
			return false;
		}
	}
}